%the following commands are used for abstruct syntax of UnQL 
\newcommand{\cons}{\ensuremath{\mathsf{:}}}
\newcommand{\select}{\ensuremath{\mathop{\mathsf{select}}}}
\newcommand{\where}{\ensuremath{\mathop{\mathsf{where}}}}
\newcommand{\letexp}{\ensuremath{\mathop{\mathsf{let}}}}
\newcommand{\sfun}{\ensuremath{\mathop{\mathsf{sfun}}}}
\newcommand{\UnQLin}{\ensuremath{\mathop{\mathsf{in}}}}
\newcommand{\filter}{\ensuremath{\mathop{\mathsf{filter}}}}
\newcommand{\letval}{\ensuremath{\mathop{\mathsf{letval}}}}
\newcommand{\UnQLnot}{\ensuremath{\mathop{\mathsf{not}}}}
\newcommand{\isEmpty}{\ensuremath{\mathop{\mathsf{isEmpty}}}}
\newcommand{\UnQLand}{\ensuremath{\mathop{\mathsf{and}}}}
\newcommand{\UnQLor}{\ensuremath{\mathop{\mathsf{or}}}}
%\newcommand{\UnQL:=}{\ensuremath{\mathop{\mathsf{:=}}}}

\newcommand{\Query}{\ensuremath{\mathop{\mathit{Query}}}}
\newcommand{\Template}{\ensuremath{\mathop{\mathit{Template}}}}
\newcommand{\Var}{\ensuremath{\mathop{\mathit{Var}}}}
\newcommand{\BC}{\ensuremath{\mathop{\mathit{BC}}}}
\newcommand{\TE}{\ensuremath{\mathop{\mathit{TE}}}}
\newcommand{\FunName}{\ensuremath{\mathop{\mathit{FName}}}}
\newcommand{\Pat}{\ensuremath{\mathop{\mathit{Pat}}}}
\newcommand{\PE}{\ensuremath{\mathop{\mathit{PE}}}}
\newcommand{\BoolCond}{\ensuremath{\mathop{\mathit{BoolCond}}}}
\newcommand{\BindCond}{\ensuremath{\mathop{\mathit{BindCond}}}}
\newcommand{\ValExp}{\ensuremath{\mathop{\mathit{ValExp}}}}
\newcommand{\Const}{\ensuremath{\mathop{\mathit{Const}}}}
\newcommand{\RPP}{\ensuremath{\mathop{\mathit{RPP}}}}
\newcommand{\Label}{\ensuremath{\mathop{\mathit{Label}}}}
\newcommand{\Bool}{\ensuremath{\mathop{\mathit{Bool}}}}
\newcommand{\String}{\ensuremath{\mathop{\mathit{String}}}}
\newcommand{\Int}{\ensuremath{\mathop{\mathit{Int}}}}

